home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 30 / Amiga Format AFCD30 (Sep 1998, Issue 114).iso / -seriously_amiga- / emulation / ixemul / bugs next >
Text File  |  1998-06-22  |  3KB  |  70 lines

  1. This file documents bugs which have no obvious solution at the moment.
  2. If they did have an obvious solution, they would be in TODO instead.
  3.  
  4. ***    The date of a softlink is always Jan 1, 1970 and this is unlikely
  5.     to be fixed until a future version of AmigaOS includes a efficient
  6.     function to obtain the date of the softlink. The only way to
  7.         obtain the date would be by using Examine()/ExNext() on the
  8.         directory that contains the softlink.
  9.  
  10. ***    When calling ixemul's write() on nonblocking file descriptors the
  11.     library will block when the write cannot be performed (e.g. on
  12.     pipe:filename). Neither can the block be avoided by using select().
  13.     The problem is that there is no way to check beforehand if the
  14.     dos.library Write() will block.
  15.  
  16. ***    The environment (ENV:) is only reread if an environment setting was
  17.     added. Ixemul relies on notification of ENV: to know when to reread
  18.     the environment. Unfortunately, deleting a file or changing a file
  19.     doesn't cause a notification, only creating a file. This is a bug
  20.     in the OS.
  21.  
  22. ***    If you stat() a directory, then the st_size field is always 1024.
  23.     It should be the size of what you can read if you open() the
  24.     directory, but that would mean that ixemul will have to
  25.     Examine()/ExNext() the whole directory which is unacceptably slow.
  26.     So any program that uses the st_size field to preallocate enough
  27.     room for for either open() on a directory or opendir()/readdir()
  28.     pairs will have to be rewritten not to use st_size.
  29.  
  30. ***    Due to a bug probably in the emulation socket.library, the
  31.     dos.library isn't closed by this socket.library if an OpenLibrary
  32.     fails because the requested version is unavailable, but an older
  33.     version exists.  Ixemul tries to open socket.library version 3, but
  34.     the emulation library has version 1.2.  So each time you run an
  35.         ixemul program, the dos.library open count is increased by one, and
  36.         so is the count of socket.library.  The solution is to select
  37.     'No networking' or 'AmiTCP' using ixprefs.
  38.  
  39. ***    Opening a file a second time fails on an AFS volume if both times
  40.     the file was opened with mode READWRITE. This happens during
  41.     linking of a program if the TMPDIR setting points to an AFS volume.
  42.     This is a bug in AFS. I've notified the author of AFS about this,
  43.         so perhaps this is solved in a future AFS version.
  44.  
  45.     The following test program illustrates the problem:
  46.  
  47.         #include <proto/dos.h>
  48.  
  49.         main(int argc, char **argv)
  50.         {
  51.           if (argv[1])  
  52.           {
  53.             BPTR f1, f2;
  54.  
  55.             f1 = Open(argv[1], MODE_READWRITE);
  56.             f2 = Open(argv[1], MODE_READWRITE);
  57.             printf("%d, %d\n", f1, f2);
  58.             if (f1) Close(f1);
  59.             if (f2) Close(f2);
  60.           }
  61.         }
  62.  
  63.         Both Open calls succeed on a FFS volume, but on an AFS volume the
  64.         second fails.
  65.  
  66. ***     If you have installed MultiUser on one volume, but not on another,
  67.         then ixemul will still use the MultiUser protection bits and owner
  68.         for the FFS volumes. This can cause problems when trying to access
  69.         files that have the wrong owner and/or protection bits.
  70.